
//*********************************************************************************
// Function que valida que un campo contenga un string y no solamente un " "
// Es tipico que al validar un string se diga
//    if(campo == "") ? alert(Error)
// Si el campo contiene " " entonces la validacion anterior no funciona
//*********************************************************************************

//busca caracteres que no sean espacio en blanco en una cadena
function vacio(q) {
    for ( i = 0; i < q.length; i++ ) {
        if ( q.charAt(i) != " " ) {
            return true
         }
    }
    return false
 }

 function iguales(s1, s2) {
     if (s1 == s2)
         return true;
     else
         return false;
 }

function esNumero(n){
    for (i = 0; i < n.length; i++)
        if (n.charAt(i) < '0' || n.charAt(i) > '9')
            return false;
    return true;
}

function esFecha(f){
    if (f.length == 8 && esNumero(f.charAt(0)) == true && esNumero(f.charAt(1)) == true && f.charAt(2) == '/' &&
            esNumero(f.charAt(3)) == true && esNumero(f.charAt(4)) == true && f.charAt(5) == '/' &&
                esNumero(f.charAt(6)) == true && esNumero(f.charAt(7)) == true)
                return true
    else if (f.length == 10 && esNumero(f.charAt(0)) == true && esNumero(f.charAt(1)) == true && f.charAt(2) == '/' &&
            esNumero(f.charAt(3)) == true && esNumero(f.charAt(4)) == true && f.charAt(5) == '/' &&
                esNumero(f.charAt(6)) == true && esNumero(f.charAt(7)) == true && esNumero(f.charAt(8)) == true && esNumero(f.charAt(9)) == true)
                return true
    else
                return false
}

//valida que el campo no este vacio y no tenga solo espacios en blanco
function valida(F) {
    var enviar;
    if( vacio(F.cif.value) == false || vacio(F.nombre.value) == false || vacio(F.telefono.value)==false ||
        vacio(F.contrasena.value)==false || vacio(F.contrasenaR.value)==false ) {
        alert("Rellene todos los campos obligatorios.");
        enviar = false;
    } else if (!iguales(F.contrasena.value, F.contrasenaR.value)){
        alert("Las contraseñas no coinciden");
        enviar = false;
    }
    else if (esNumero(F.telefono.value) == false || F.telefono.value.length != 9){
        alert("El número de teléfono no es correcto");
        enviar = false;
    } else {
        //cambiar la linea siguiente por return true para que ejecute la accion del formulario
        enviar = true;
        F.submit();
    }
    return enviar;
}

function validaMod(cif, nombre, telefono, correo, contrasena, contrasenaR) {
    if (vacio(cif.value) == false || vacio(nombre.value) == false || vacio(telefono.value)==false)
        alert("Debe rellenar los campos obligatorios");
    else if (!iguales(contrasena.value, contrasenaR.value))
        alert("Las contraseñas no coinciden");
    else
        enviarModAsoc(cif, nombre, telefono, correo, contrasena, contrasenaR);
}

function validaConsUsu(nExp, dni, nombre, apellidos, tarjResi, nacionalidad, fechaNac, tipoVia, nombreVia, numeroVia, ciudad, provincia, cp, asoc) {
    if (vacio(nExp.value) == false || vacio(nombre.value) == false || vacio(apellidos.value)==false ||
            vacio(dni.value)==false || vacio(fechaNac.value)==false || vacio(tipoVia.value)==false ||
                vacio(nombreVia.value)==false || vacio(numeroVia.value)==false || vacio(cp.value)==false  || vacio(asoc.value)==false)
        alert("Debe rellenar los campos obligatorios");
    else if (esFecha(fechaNac.value) == false)
        alert("La fecha de nacimiento debe tener el siguiente formato: dd/mm/aa");
    else if (esNumero(numeroVia.value) == false)
        alert("El número de la vía no es correcto");
    else if (esNumero(cp.value) == false)
        alert("El código postal no es correcto");
    else
        enviarModUsu(nExp, dni, nombre, apellidos, tarjResi, nacionalidad, fechaNac, tipoVia, nombreVia, numeroVia, ciudad, provincia, cp, asoc);
}

function validaUsu(F) {
    if (vacio(F.nExp.value) == false || vacio(F.nombre.value) == false || vacio(F.apellidos.value)==false ||
            vacio(F.dni.value)==false || vacio(F.fechaNac.value)==false || vacio(F.tipoVia.value)==false ||
                vacio(F.nombreVia.value)==false || vacio(F.numeroVia.value)==false || vacio(F.cp.value)==false || 
                    vacio(F.nacionalidad.value) == false || vacio(F.provincia.value) == false || 
                        vacio(F.ciudad.value) == false || F.asoc.options[F.asoc.selectedIndex].value== "seleccion")
        alert("Debe rellenar los campos obligatorios");
    else if (esFecha(F.fechaNac.value) == false)
        alert("La fecha de nacimiento debe tener el siguiente formato: dd/mm/aa");
    else if (esNumero(F.numeroVia.value) == false)
        alert("El número de la vía no es correcto");
    else if (esNumero(F.cp.value) == false)
        alert("El código postal no es correcto");
    else
        F.submit();
}

function validaConsUnidFam(nombre, apellidos, dni, parentesco){
    if (vacio(nombre.value) == false || vacio(apellidos.value)  == false || vacio(dni.value)  == false ||
            vacio(parentesco.value)  == false)
        alert("Debe rellanar los campos obligatorios");
    else
        enviarModUnidFam(nombre, apellidos, dni, parentesco);
}

